Overview

This Introduction to Apama is for new Apama users. It provides a high-level overview of Apama, its architecture and key concepts.

What is Apama?

Apama is the event processing engine at the heart of Cumulocity Streaming Analytics. The Apama engine monitors rapidly moving event streams, detects and analyzes important events and patterns of events, and immediately acts on events of interest according to your specifications.

Event-based applications differ from traditional applications in that rather than continuously executing a sequence of instructions, they listen for and respond to relevant events. Events describe changes to particular real-world or computer-based objects, for example, a new temperature reading from a factory sensor.

Events are collections of attribute-value pairs that describe a change in an object. For example, the figure below shows events from a sensor. Each sensor reading has a number of attributes, such as temperature and pressure.

Illustration showing a sensor reading

The attributes, or fields, of an individual event class may be of a variety of types, including numerical and textual data. Events with multiple fields can be viewed as multidimensional types, in that a search to find an event of interest might involve searching across several of the event fields.

Rather than executing a sequence of activities at some defined point, an event-based system waits and responds appropriately to an asynchronous signal as soon as it happens. In this way, the response is as immediate (or real-time) as possible.

Apama features include:

  • EPL - a concise, richly-featured event processing language providing sophisticated analytics
  • APIs for writing application components in Python, C++ or Java which can then be tied together using EPL
  • The connectivity plug-in API, for integrating with any external data source
  • Sub-second response to detected events and patterns of interest.
  • Highly scalable, patented, event-driven architecture.
  • Tools for managing and monitoring your application.